#ifndef PG_H
#define PG_H

#include <QString>
#include <QStringList>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QVariant>
#include <QInputDialog>


class Pg
{
    /*
        La prom's est séparée en deux variables, le centre et le l'année.
    */


public:

    enum Statut
    {
        STANDARD = 0, ETRANGER = 1, ZIDENT = 2
    };

    Pg(QSqlDatabase sqlDb = QSqlDatabase::database());
    Pg(int id, bool admin = false, QSqlDatabase sqlDb = QSqlDatabase::database());
    Pg(int fam, QString prom, bool admin = false, QSqlDatabase sqlDb = QSqlDatabase::database());
    ~Pg();


    void setProms(QString);

    //Fonctions d'accès au propriétés de l'objet
    int getId();
    int getFams();
    QString getProms();
    double getSolde();
    QString getBucque();
    bool isActif();
    Statut getStatus();

    static Statut toStatut(int st);
    static bool etranger(QString *proms);
    static QStringList listProms(int fams, bool inactif = false);
    static Pg creer(int fams, QString prom, QString Bucque, Statut s = STANDARD);
private:

    //Fonction permettant de compléter les informations à partir de la fam's et de la prom's complète
    bool completer(bool admin);

    int id;
    int fams;
    QString centre;
    int proms;
    double solde;
    QString bucque;
    bool actif;
    Statut statut;
    QSqlDatabase db;
};

#endif // PG_H
